#!/bin/bash
# GoSpeed 腾讯云容器镜像部署脚本

set -e

echo "🚀 GoSpeed 部署脚本"
echo "使用腾讯云容器镜像服务: ccr.ccs.tencentyun.com/liumou/gospeed"

# 检查docker是否安装
if ! command -v docker &> /dev/null; then
    echo "❌ Docker未安装，请先安装Docker"
    exit 1
fi

# 检查docker compose插件是否可用
if ! docker compose version &> /dev/null; then
    echo "❌ Docker Compose插件未安装，请更新Docker到最新版本"
    exit 1
fi

# 创建必要的文件和目录
echo "📁 创建必要的文件和目录..."
mkdir -p data urls

# 如果urls.txt不存在，创建默认的urls.txt
if [ ! -f "urls.txt" ]; then
    echo "📝 创建默认urls.txt文件..."
    cat > urls.txt << EOF
# GoSpeed 默认URL列表
# 每行一个URL，支持以下格式：
# - 直接URL: https://example.com/file.zip
# - 带保存路径: https://example.com/file.zip /save/path/file.zip
# - 注释行以 # 开头

# 示例URL（请替换为实际URL）
# https://example.com/file1.zip
# https://example.com/file2.zip /data/downloads/file2.zip
EOF
fi

# 环境变量配置已在compose.yaml中设置，无需.env文件
# 如需修改配置，请直接编辑compose.yaml文件中的environment部分

# 检查必要文件
if [ ! -f "compose.yaml" ]; then
    echo "❌ 错误: 未找到 compose.yaml 文件"
    exit 1
fi

# 拉取最新的镜像
echo "📦 拉取最新的GoSpeed镜像..."
docker compose -f compose.yaml pull

# 启动服务
echo "🚀 启动GoSpeed服务..."
docker compose -f compose.yaml up -d

# 等待服务启动
echo "⏳ 等待服务启动..."
sleep 5

# 检查服务状态
echo "🔍 检查服务状态..."
if docker compose -f compose.yaml ps | grep -q "Up"; then
    echo "✅ GoSpeed服务已成功启动！"
    echo "📊 查看日志: docker compose -f compose.yaml logs -f"
    echo "🛑 停止服务: docker compose -f compose.yaml down"
    echo "🔄 重启服务: docker compose -f compose.yaml restart"
else
    echo "❌ 服务启动失败，请查看日志:"
    docker compose -f compose.yaml logs
    exit 1
fi
